CC=gcc
OBJS=bitstream.o mask.o mmask.o mqrspec.o qrencode.o qrinput.o qrspec.o rscode.o split.o main.o
target=main
FLAGS=-Wall 

$(target):$(OBJS)
	@$(CC) $^ -o $@

main.o:main.c qrencode.h
	@$(CC) $(FLAGS) -c $< -o $@
bitstream.o:bitstream.c bitstream.h
	@$(CC) $(FLAGS) -c $< -o $@
mask.o:mask.c mask.h qrspec.h qrencode.h
	@$(CC) $(FLAGS) -c $< -o $@
mmask.o:mmask.c mmask.h mqrspec.h qrencode.h
	@$(CC) $(FLAGS) -c $< -o $@
mqrspec.o:mqrspec.c mqrspec.h
	@$(CC) $(FLAGS) -c $< -o $@
qrencode.o:qrencode.c qrencode.h qrspec.h mqrspec.h bitstream.h qrinput.h rscode.h split.h mask.h mmask.h config.h
	@$(CC) $(FLAGS) -c $< -o $@
qrinput.o:qrinput.c qrinput.h qrencode.h qrspec.h mqrspec.h bitstream.h
	@$(CC) $(FLAGS) -c $< -o $@	
qrspec.o:qrspec.c qrspec.h qrinput.h 
	@$(CC) $(FLAGS) -c $< -o $@
rscode.o:rscode.c rscode.h
	@$(CC) $(FLAGS) -c $< -o $@
split.o:split.c split.h qrencode.h qrinput.h qrspec.h
	@$(CC) $(FLAGS) -c $< -o $@

clean:
	@rm *.o $(target)
